// pages/cart/cart.js
import {
  GetCartIndex,huan
} from "../../request/api.js"
import {
  GetCartDel,
  GetCartChecked,
  bu
} from "../../request/api.js"
import Toast from '../../miniprogram_npm/@vant/weapp/toast/toast';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    cartList: '',
    cartTotal: '',
    isShow: true,
    bjq: false,
    btn: true,
    checked: true,
    isChecked: '',
    productIds: '',
    jin: false,
    zongjia: '',
    checked2: 1,
    checked3: "",
  },
  // 复选框
  async onChange1(v) {
    let a = v.currentTarget.dataset.ji ? 0 : 1
    let b = String(v.currentTarget.dataset.b)
    let res = await huan(a, b)
    // console.log(res);
    this.setData({
      cartList: res.data.cartList,
      cartTotal: res.data.cartTotal
    })

    if (res.data.cartTotal.checkedGoodsCount == res.data.cartTotal.goodsCount) {
      this.setData({
        checked3: true
      })
    } else {
      this.setData({
        checked3: false
      })
    }

  },
  // 全选
  async onChange2(v) {
    let checked = v.currentTarget.dataset.ji
    if (checked == true) {
      //全不选状态，让所有按钮的选中状态为false
      for (let i = 0; i < this.data.cartList.length; i++) {
        this.data.cartList[i].checked = false
        this.setData({
          cartList: this.data.cartList
        })
      }
    } else {
      for (let i = 0; i < this.data.cartList.length; i++) {
        this.data.cartList[i].checked = true
        this.setData({
          cartList: this.data.cartList
        })
      }
    }
    this.setData({
      checked3: !this.data.checked3
    })
  },
  // 选中
  async xuanzhong() {
    // 切换商品状态
    let shang = await GetCartChecked(this.data.isChecked, this.data.productIds);
    // console.log(this.data.isChecked);
    this.setData({
      zongjia: shang.data.cartTotal.goodsAmount
    })
    this.live()
    // console.log( shang.data.cartTotal.goodsAmount);
  },
  // 步进器
  async onChange(event) {
    // console.log(event.detail);
    // console.log(event.currentTarget.dataset.number);
    let res = await bu(event.currentTarget.dataset.ji, event.currentTarget.dataset.id, event.detail, event.currentTarget.dataset.product_id)
    //  console.log(res);    
    this.onLoad()
  },

  // 编辑按钮
  edit() {
    this.setData({
      bjq: true,
      btn: false,
      jin: true
    })
  },
  // 完成按钮
  finish() {
    this.setData({
      bjq: false,
      btn: true,
      jin: false
    })
  },
  // 自定义生命周期
  async live(options) {
    let res = await GetCartIndex();
    this.setData({
      cartList: res.data.cartList,
      cartTotal: res.data.cartTotal
    })
    if (res.data.cartList.length > 0) {
      this.setData({
        isShow: false
      })
    }
    // console.log(res.data.cartList);
    // console.log(res.data.cartTotal);
    // 如果有选中的商品，判断全选按钮
    if (this.data.cartTotal.checkedGoodsCount > 0) {
      // 选中的商品数量==购物车内的所有商品总数量的时候，全选按钮就被选中
      if (this.data.cartTotal.checkedGoodsCount == this.data.cartTotal.goodsCount) {
        this.setData({
          checked: true
        })
      } else {
        this.setData({
          checked: false
        })
      }
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {
    this.live();
  },
  // 删除商品
  async del(v) {
    let a = String(v.currentTarget.dataset.product_id)
    // console.log(typeof a);
    let ress = await GetCartDel(a);
    this.setData({

    })
    // console.log(ress);
    // 刷新页面
    this.onLoad();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 判断是否登录
    let token = wx.getStorageSync('token');
    if (!token) {
      let arr = getCurrentPages()
      let route = '/' + arr[arr.length - 1].route;
      wx.setStorageSync('route', route);
      // wx.showLoading({
      //   title: '请先登录',
      // })
      // 跳转到user
      setTimeout(() => {
        wx.switchTab({
          url: "/pages/user/user"
        })
      })
    }

    this.getTabBar().setData({
      active: 3
    })
    this.onLoad();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})